package com.wzdigit.wms.hm.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.wzdigit.framework.orm.model.BasicDomain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 库存交易凭证表头，TRSN=Transaction Note，用于记录系统生成的入库、出库凭证
 * </p>
 *
 * @author
 * @since 2021-01-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("WMS_TRSN_HEADER")
@KeySequence(value = "WMS_TRSN_HEADER_SEQ", clazz = Integer.class)
public class TrsnHeader extends BasicDomain {

    private static final long serialVersionUID = 1L;

    /**
     * 库存交易凭证头ID
     */
    @TableId(value = "TRSN_HEADER_ID", type = IdType.INPUT)
    private Integer trsnHeaderId;

    /**
     * 凭证号
     */
    @TableField("NOTE_NO")
    private String noteNo;

    /**
     * 凭证类型
     */
    @TableField("NOTE_TYPE")
    private String noteType;

    /**
     * 货主，客户主数据中 客户类型=货主，取客户ID
     */
    @TableField("OWNER")
    private Integer owner;

    /**
     * erp工厂代码
     */
    @TableField("FACTORY")
    private String factory;

    /**
     * 库存地点
     */
    @TableField("WHS_ID")
    private Integer whsId;

    /**
     * 供应商
     */
    @TableField("VENDOR_ID")
    private Integer vendorId;

    /**
     * 销售订单，批次号
     */
    @TableField("FM_DOC")
    private String fmDoc;

    /**
     * 单据参考信息1
     */
    @TableField("DOC_REF1")
    private String docRef1;

    /**
     * 单据参考信息2
     */
    @TableField("DOC_REF2")
    private String docRef2;

    /**
     * 单据参考信息3
     */
    @TableField("DOC_REF3")
    private String docRef3;

    /**
     * 单据参考信息4
     */
    @TableField("DOC_REF4")
    private String docRef4;

    /**
     * 单据参考信息5
     */
    @TableField("DOC_REF5")
    private String docRef5;

    /**
     * 用户自定义字段1
     */
    @TableField("UDF1")
    private String udf1;

    /**
     * 用户自定义字段2
     */
    @TableField("UDF2")
    private String udf2;

    /**
     * 用户自定义字段3
     */
    @TableField("UDF3")
    private String udf3;

    /**
     * 用户自定义字段4
     */
    @TableField("UDF4")
    private String udf4;

    /**
     * 用户自定义字段5
     */
    @TableField("UDF5")
    private String udf5;

    /**
     * 备注
     */
    @TableField("COMMENTS")
    private String comments;

    /**
     * ASN 状态 － 该单证当前状态。系统提供 ASN 创建、已码盘、部分收货、完全收货、
     * 订单取消、ASN 完成等状态。在创建一个新的 ASN 时，ASN 状态默认为 ASN 创建，系统
     * 会根据 ASN 操作情况自动更新。
     */
    @TableField("STATUS")
    private Integer status;

}
